使用 ChromeDriver 進行測試
WebDriver 是一個開放原始碼工具,可用於自動化測試多個瀏覽器的網路應用程式。它提供導覽至網頁、使用者輸入、執行 JavaScript 等功能。ChromeDriver 是一個獨立伺服器,實作 Chromium 的 WebDriver 通訊協定。ChromeDriver 可用於 Android 上的 Chrome 和桌上型電腦上的 Chrome(Mac、Linux、Windows 和 ChromeOS)。
NW.js 提供自訂的 ChromeDriver,用於自動測試基於 NW.js 的應用程式。您可以搭配 selenium 等工具使用。
入門
下列工作流程使用 selenium-python 進行測試。您可以使用任何 Selenium 的語言埠來搭配 chromedriver
使用。
安裝
- 從 NW.js 網站下載 ChromeDriver。它在 SDK 組建中。
- 解壓縮套件,並將
chromedriver
放置在包含 NW.js 二進位檔的目錄下:Linux 為nw
、Windows 為nw.exe
,Mac 則為node-webkit.app
。 - 在您的專案中安裝
selenium-python
pip install selenium
執行
假設您的應用程式顯示一個用於從遠端搜尋的表單。該頁面基本上類似於以下內容
<form action="http://mysearch.com/search" method="GET"> <input type="text" name="q"><input type="submit" value="Submit"> </form>
撰寫一個 Python 腳本,用於自動填入搜尋方塊並提交表單
import time from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument("nwapp=/path/to/your/app") driver = webdriver.Chrome(executable_path='/path/to/nwjs/chromedriver', chrome_options=chrome_options) time.sleep(5) # Wait 5s to see the web page search_box = driver.find_element_by_name('q') search_box.send_keys('ChromeDriver') search_box.submit() time.sleep(5) # Wait 5s to see the search result driver.quit()
請參閱 http://selenium-python.readthedocs.org/ 以取得 selenium-python
的詳細文件。
上游 chromedriver 的修改
-
chromedriver 已修改,預設會在相同目錄中尋找 NW 可執行檔
-
如果您想要將非切換引數傳遞至命令列,則會新增一個額外的選項
nwargs
import time from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument("nwapp=/path/to/your/app") chrome_options.add_experimental_option("nwargs", ["arg1", "arg2"]) driver = webdriver.Chrome(executable_path='/path/to/nwjs/chromedriver', chrome_options=chrome_options)